package com.itheima.jobs;

import com.itheima.constant.RedisConstant;
import com.itheima.utils.QinniuUtils;
import org.springframework.beans.factory.annotation.Autowired;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import javax.swing.*;
import java.util.Iterator;
import java.util.Set;

/**
 * 类 名: ClearImgJob
 * 描 述:
 * 作 者: 蔡畅
 * 创 建：2019年11月23日
 */
public class ClearImgJob {
    /**
     * 定时任务:清理垃圾图片
     *
     */

    @Autowired
    private JedisPool jedisPool;

    //清理图片
    public void clearImg() {
        //计算redis中两个集合的差值,获取垃圾图片名称
        Set<String> set = jedisPool.getResource().sdiff(
                RedisConstant.SETMEAL_PIC_RESOURCES,RedisConstant.SETMEAL_PIC_DB_RESOURCES
        );
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()) {
            String pic = iterator.next();
            //删除图片服务器中的图片文件
            QinniuUtils.deleteFileFromQiniu(pic);
            //删除redis中的数据
            jedisPool.getResource().srem(RedisConstant.SETMEAL_PIC_RESOURCES,pic);
        }
    }
}
